shell函数

        函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时,直接调用这个小单元的名字即可。

        格式:

1
2
3
function funame() {
command

        函数必须要放在最前面。

1
[root@192 sbin]# vim func1.sh

        加入内容:

1
2
3
4
5
#!/bin/bash
input() {
echo $1
}
input aaa

        上面的脚本其实就是一个非常简单的函数,函数名字为 input ,它的作用就是输出参数 1 的内容。

1
[root@192 sbin]# sh func1.sh

        再来看加法运算的函数:

1
[root@192 sbin]# vim func2.sh

        写入内容:

1
2
3
4
5
6
#!/bin/bash
sum() {
s=$[$1+$2]
echo $s
}
sum 1 2

        说明:sum 为一个加法运算的函数, $1 和 $2 为第一个和第二个参数, sum 1 2 ,其实就是 1+2 ,最后 echo 出来它们的和。

        下面是一个稍微复杂的函数:

1
[root@192 sbin]# vim func3.sh

        加入内容:

1
2
3
4
5
6
7
#!/bin/bash
ip() {
ifconfig |grep -A1 "$1"|tail -l |awk '{print $2}'|awk -F ':' '{print $2}'
}
read -p "Please input the eth name:" e
myip=`ip $e`
echo "$e address is $myip"

        说明:ip 函数其实就是通过 grep 和 awk 把网卡的 ip 给截取出来,只不过这个网卡的名字是让用户子机动手输入的。

1
[root@192 sbin]# sh func3.sh